/*
 * @Author: qiulin 1746365080@qq.com
 * @Date: 2024-11-03 22:46:00
 * @LastEditors: qiulin 1746365080@qq.com
 * @LastEditTime: 2024-11-06 13:52:32
 * @FilePath: /SGSim/DataStructure/Input/Property/PCONVData.h
 */

#pragma once
#include <math.h>

#include <set>

#include "DataStructure/Common/Constant.h"
#include "DataStructure/Common/DataStructureNamespace.h"
#include "DataStructure/Common/Real.h"
#include "DataStructure/Common/SGObject.h"

SG_DATASTRUCTURE_FEM_NAMESPACE_OPEN
///< @brief 指定所使用的边界条件曲面元素的自由对流边界条件属性用于传热分析
struct DECLSPEC PCONVData : public SGObject
{
    SG::DataStructure::Common::I64  m_MID      = 0;                  ///< 材料ID
    SG::DataStructure::Common::I64  m_FORM     = 0;                  ///< 公式
    SG::DataStructure::Common::Real m_EXPF     = 0.0;                ///< 指数因子
    SG::DataStructure::Common::I64  m_FTYPE    = 0;                  ///< 类型
    SG::DataStructure::Common::Real m_HCF1     = 0.0;                ///< 热对流因子1
    SG::DataStructure::Common::Real m_HCF2     = 0.0;                ///< 热对流因子2
    SG::DataStructure::Common::Real m_HCF3     = 0.0;                ///< 热对流因子3
    SG::DataStructure::Common::Real m_HCF4     = 0.0;                ///< 热对流因子4
    SG::DataStructure::Common::Real m_HCF5     = 0.0;                ///< 热对流因子5
    SG::DataStructure::Common::Real m_HCF6     = 0.0;                ///< 热对流因子6
    SG::DataStructure::Common::Real m_HCF7     = 0.0;                ///< 热对流因子7
    SG::DataStructure::Common::Real m_HCF8     = 0.0;                ///< 热对流因子8
    SG::DataStructure::Common::I64  m_TID      = 0;                  ///< 温度ID
    SG::DataStructure::Common::Real m_CHLEN    = 0.0;                ///< 通道长度
    SG::DataStructure::Common::I64  m_GIDIN    = 0;                  ///< 输入ID
    SG::DataStructure::Common::I64  m_CE       = 0;                  ///< 边界层流动方向的坐标系
    SG::DataStructure::Common::Real m_E[3]     = { 1.0, 0.0, 0.0 };  ///< 定义坐标系CE中边界层流动方向的向量分量
    SG::DataStructure::Common::Id   m_domainId = 0;                  ///<
};

///< @brief 重载==
DECLSPEC bool operator== (const PCONVData& val1, const PCONVData& val2);

SG_DATASTRUCTURE_FEM_NAMESPACE_CLOSE